library(here)
#analisis
library(ggsignif)
library(ggrepel)
library(inlmisc)
library(nortest) #para testear distribucion
library(skimr) #provides a frictionless approach to summary statistics w
library(easystats) # multiples unciones analiticas
library(lme4)
library(skimr)
library(readxl)
# vizualizacion
library(ggridges)
library(sf)
library(GGally)
library(tidyverse, quietly = TRUE)
library(knitr, quietly = TRUE)
library(kableExtra)
library(raster)
library(egg)Análisis espacio-temporal datos histórica artesanal de la pesquería de Bacalao
Analisis exploratorio 1986-2021
ANTECEDENTES
El presente reporte tiene un codigo autocontenido con los Analísis Exploratorios de Datos (AED) de la pesquería de bacalao de profundidad extraído por la flota pesquera artesanal (espinel). Los analisis aca descritos estan compuestos de dos bases. La primera es de los registros oficiales de captura recogidos por el SERNAPESCA. En segundo lugar, se presentan el AED de los datos del monitoreo d la pesqería llevado a cabo por el IFOP a través del Programa de Seguimiento de Pesquerías Demersales del Departamento de Evaluación de Pesquerías.
El principal objetivo es identificar vacios y fortalezas de los datos en terminos espacio-temporales, y con ello tomar decisiones para el paso posterior de modelación de la dinámica poblacional del recurso para realizar asesoría en terminos de estatus y recomendación de una Captura Biologicamente Aceptable (CBA).
ANÁLISIS EXPLORATORIO DE DATOS (AED)
Cargo librerías necesarias para el análisis exploratorio de los datos de las distintas bases de bitácora, tallas y biológico.
# A function for dotplots
multi_dotplot <- function(filename, Xvar, Yvar){
filename %>%
ggplot(aes(x = {{Xvar}})) +
geom_point(aes(y = {{Yvar}}),
alpha=0.4) +
theme_bw() +
coord_flip() +
labs(x = "Order of Data")}Identifico los directorio de trabajo y leo las tres bases de datos; a saber:
- Bitácora
- Biologico
- Tallas
- Desembarques (1985-2022)
bit <- read_excel("Artesanal_Historica/datos Bacalao historico 1997-2022CTP/BITACORAS ESPINEL bacalao.xlsx", sheet = "BITACORAS_ESPINEL_bacalao")
long <- read_excel("Artesanal_Historica/datos Bacalao historico 1997-2022CTP/LONGITUD_ESPINEL_bacalao.xlsx")
bio <- read_excel("Artesanal_Historica/datos Bacalao historico 1997-2022CTP/BIOLOGICO ESPINEL bacalao.xlsx",
sheet = "BIOLOGICO_ESPINEL_bacalao")
landing <- read_excel("Artesanal_Historica/DESEMBARQUE HISTÓRICO.xlsx",
skip = 2)Identificamos los registros asociados recurso objetivo
- Codigo del Recurso: 37
- Nombre común: Bacalao de profundidad
- Nombre científico: Dissostichus eleginoides
Idetifico los registros por recurso y por base para luego filtrar.
dim(bit)
[1] 14208 77
table(bit$COD_ESPECIE)
2 4 5 6 14 15 16 17 18 20 22 23 24
7 1 14 25 147 6 89 16 698 1 25 3 7
25 27 33 35 37 42 43 49 53 56 59 74 75
3 11 2 2 11074 3 9 21 1 5 35 1 28
81 88 99 103 104 105 106 108 119 127 129 144 194
19 1 159 21 24 2 7 44 1 1 1 1 91
199 212 226 239 243 323 324 325 334 844 849 920 984
178 18 1 22 1 2 50 6 830 3 138 1 1
989 999 1309
36 249 58
dim(long)
[1] 15831 24
table(long$COD_ESPECIE)
37
15831
dim(bio)
[1] 127409 36
table(bio$COD_ESPECIE)
37
127409
# las bases de biologicos y longitud solo teienen registros de bacalao.
# filtro bitacoras dejando solo bacalao
bitb <- bit %>%
filter(COD_ESPECIE==37)
dim(bitb)
[1] 11074 77
# se eliminan 1208-11074 = 3134 registrosIdentifico ahora los NA en cada base
colSums(is.na(bitb))
ID embarque
276 0
COD_BARCO FECHA_HORA_RECALADA
0 0
FECHA_HORA_ZARPE COD_PESQUERIA
1 0
COD_PESQUERIA_ant N_TRIPULANTES
276 5527
N_CALADAS PUERTO_ZARPE
9197 41
PUERTO_RECALADA nombre_puerto_recalada
3 12
NRO_FORMULARIO REGION_PUERTO_RECALADA
4652 3
ESPECIE_OBJETIVO ECOSONDA
233 8158
GPS POTENCIA_MOTOR_EQ
8217 6394
VIRADOR GASTOS_VIAJE
8179 8757
NUMERO_LANCE_EX FECHA_LANCE
0 0
año mes
0 0
trim dfp
0 1
ID_CUADRICULA ID_PROCEDENCIA
8244 8321
PESO_TOTAL_CAPTURA LATITUD
5630 3223
LONGITUD lat_ctgr
3222 3223
lon_ctgr zona
3222 0
ESPECIE_OBJETIVO_LANCE CLASE_LANCE
9615 8773
COD_ESPECIE PESO
0 0
PESO_corr CAPTURA_RETENIDA
0 9359
VOLUMEN_DESCARTE LUGAR_DESCARTE
9096 9620
TIPO_DESCARTE PRECIO_UNITARIO
9462 5962
DESTINO_CAPTURA NRO_ANZUELOS
6017 10978
REGION_PROCEDENCIA FECHA_HORA_FIN_CALADO
8305 6290
FECHA_HORA_INI_CALADO LATITUD_INICIO_CALADO
2256 7311
LONGITUD_INICIO_CALADO LATITUD_FIN_CALADO
7320 9273
LONGITUD_FIN_CALADO FECHA_HORA_INI_VIRADO
9265 6298
FECHA_HORA_FIN_VIRADO LATITUD_INICIAL_VIRADO
2275 8100
LONGITUD_INICIAL_VIRADO LATITUD_FIN_VIRADO
8100 8101
LONGITUD_FIN_VIRADO PROFUNDIDAD_MINIMA_LM
8102 8784
PROFUNDIDAD_MAXIMA_LM PROFUNDIDAD_FONDO_VIRADO_INI
5076 8458
PROFUNDIDAD_FONDO_VIRADO_FIN prof_med
8375 4039
SEPARACION_ANZUELO MARCA_ANZUELO
7403 9202
NUMERO_DE_ANZUELOS PERDIDA_ANZUELOS
4025 8821
TIPO_CARNADA TAMANIO_ANZUELO
4044 3984
INTENSIDAD_VIENTO LONGITUD_LINEA_MADRE
7003 6338
HORAS_REPOSO TIPO_ESPINEL
8121 5738
N_PANOS ANZ_POR_PANO
8126 8100
filtro
0
colSums(is.na(long))
ID COD_BARCO FECHA_HORA_RECALADA FECHA_HORA_ZARPE
2997 0 0 0
COD_PESQUERIA PUERTO_RECALADA NRO_FORMULARIO REGION
0 0 0 0
FECHA_LANCE NUMERO_LANCE_EX LATITUD LONGITUD
0 0 4425 4425
NUMERO_EJEMPLARES PESO_TOTAL_MUESTRA NUMERO_CAJA COD_ESPECIE
15733 15831 0 0
ORIGEN_MUESTRA FECHA_MUESTREO N_TOTAL_INDIV LONGITUD_DESCARTE
0 15831 0 15831
LONGITUD_MUESTRA SEXO N_INDIVIDUOS año
0 0 2 0
colSums(is.na(bio))
ID COD_BARCO
16722 0
FECHA_HORA_RECALADA FECHA_HORA_ZARPE
0 100
PUERTO_RECALADA PUERTO_ZARPE
117 478
REGION COD_PESQUERIA
16839 0
NRO_FORMULARIO FECHA_LANCE
0 0
NUMERO_LANCE_EX LATITUD
0 20300
LONGITUD NUMERO_EJEMPLARES
20324 127409
PESO_TOTAL_MUESTRA COD_ESPECIE
127409 0
N_ESPECIMEN ORIGEN_MUESTRA
0 0
SEXO_ESPECIMEN NRO_MUESTRA
5523 126955
LONGITUD_ESPECIMEN PESO_ESPECIMEN
41 94366
NUMERO_OTOLITOS PESO_EVISCERADO
79732 11493
MADUREZ PESO_GONADAS
96557 107655
CONTENIDO_ESTOMACAL REPLECION
127409 126835
LONGITUD_DISCO ANCHO_DISCO
127404 127379
PESO_ESTOMAGO PESO_PARED_ESTOMAGO
126014 127409
NUMERO_FICHA CONT_ESTOMACAL_ESTADO_ESTOMAGO
127409 127409
NUMERO_FICHA_GONADA año
127409 0Comenzar a trabajar bases por separado
DESEMBARQUES
Tabla con los desembarques oficiales (Sernapesca, 2022)
kbl(landing, booktabs = T,format = "html",
caption = "Desembarque Bacalao Artesanal por Región") %>%
kable_styling(latex_options = c("striped",
"condensed","scale_down"),
full_width = FALSE) | ...1 | AyP | TPCA | ANTOF | ATCMA | COQ | VALPO | LGBO | MAULE | ÑUBLE | BBIO | ARAUC | RIOS | LAGOS | AYSEN | MAG | ...17 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1985 | NA | 8 | 102 | 146 | 162 | 1674 | NA | 349 | NA | 1527 | NA | NA | 63 | 28 | NA | 4059 |
| 1986 | NA | 842 | 1531 | 213 | 329 | 1242 | NA | 88 | NA | 1546 | NA | NA | 311 | 6 | NA | 6108 |
| 1987 | NA | 182 | 335 | 171 | 51 | 671 | NA | NA | NA | 1264 | NA | NA | 689 | 21 | NA | 3384 |
| 1988 | NA | 131 | 174 | 251 | 42 | 670 | NA | 46 | NA | 1597 | NA | NA | 877 | 8 | NA | 3796 |
| 1989 | NA | 217 | 175 | 177 | 109 | 756 | NA | 114 | NA | 1859 | 10 | NA | 1462 | 8 | NA | 4887 |
| 1990 | NA | 335 | 161 | 126 | 100 | 444 | NA | 5 | NA | 2620 | NA | NA | 1789 | 36 | NA | 5616 |
| 1991 | NA | 280 | 186 | 142 | 223 | 519 | NA | NA | NA | 1901 | NA | NA | 680 | NA | NA | 3931 |
| 1992 | NA | 30 | 45 | 77 | 53 | 477 | NA | 131 | NA | 2108 | 1 | NA | 741 | 1 | NA | 3664 |
| 1993 | NA | 37 | 4 | 66 | 81 | 1676 | NA | 295 | NA | 1111 | NA | NA | 807 | NA | 45 | 4122 |
| 1994 | NA | 24 | 139 | 213 | 68 | 671 | NA | 526 | NA | 1920 | NA | NA | 1374 | 41 | 411 | 5387 |
| 1995 | NA | 252 | 259 | 286 | 65 | 206 | NA | 190 | NA | 1347 | NA | NA | 1680 | 31 | 266 | 4582 |
| 1996 | NA | 476 | 220 | 121 | 177 | 272 | NA | 226 | NA | 1390 | 2 | NA | 1989 | 22 | 83 | 4978 |
| 1997 | NA | 36 | 82 | 47 | 57 | 98 | NA | 116 | NA | 1077 | 1 | NA | 1803 | 22 | 83 | 3422 |
| 1998 | NA | 9 | 67 | 169 | 61 | 155 | NA | 399 | NA | 1284 | NA | NA | 2038 | NA | 11 | 4193 |
| 1999 | NA | 42 | 72 | 168 | 87 | 484 | NA | 406 | NA | 1369 | NA | NA | 2910 | NA | 270 | 5808 |
| 2000 | NA | 285 | 98 | 153 | 105 | 200 | NA | 292 | NA | 800 | NA | NA | 3515 | NA | 345 | 5793 |
| 2001 | NA | 198 | 85 | 127 | 113 | 191 | NA | 136 | NA | 1049 | NA | NA | 2045 | NA | NA | 3944 |
| 2002 | NA | 154 | 44 | 97 | 57 | 188 | NA | 186 | NA | 732 | NA | NA | 3097 | NA | 10 | 4565 |
| 2003 | NA | 58 | 25 | 51 | 27 | 338 | NA | 123 | NA | 752 | NA | NA | 3189 | NA | 179 | 4742 |
| 2004 | NA | 76 | 32 | 63 | 23 | 308 | NA | 132 | NA | 412 | NA | NA | 2303 | NA | 70 | 3419 |
| 2005 | NA | 111 | 14 | 47 | 26 | 84 | NA | 175 | NA | 475 | NA | NA | 2021 | NA | 325 | 3278 |
| 2006 | NA | 87 | 3 | 50 | 50 | 92 | NA | 159 | NA | 243 | NA | NA | 1367 | NA | 40 | 2091 |
| 2007 | 19 | 43 | 7 | 22 | 25 | 43 | NA | 84 | NA | 189 | NA | 501 | 1157 | NA | NA | 2090 |
| 2008 | 4 | 48 | 21 | 9 | 3 | 32 | NA | 70 | NA | 219 | NA | 349 | 803 | NA | NA | 1558 |
| 2009 | 13 | 85 | 24 | 20 | 16 | 79 | NA | 112 | NA | 239 | NA | 522 | 571 | NA | NA | 1681 |
| 2010 | 13 | 43 | 13 | 58 | 11 | 37 | NA | 63 | NA | 109 | NA | 465 | 655 | NA | NA | 1467 |
| 2011 | 19 | 82 | 20 | 46 | 6 | 49 | NA | 90 | NA | 276 | NA | 613 | 987 | NA | NA | 2188 |
| 2012 | 25 | 68 | 11 | 82 | 14 | 26 | NA | 105 | NA | 317 | NA | 290 | 1126 | NA | NA | 2064 |
| 2013 | 26 | 58 | 12 | 68 | 23 | 52 | NA | 214 | NA | 186 | NA | 277 | 622 | NA | 20 | 1558 |
| 2014 | 13 | 48 | - | 59 | 34 | 64 | NA | 171 | NA | 129 | NA | 252 | 453 | NA | 57 | 1280 |
| 2015 | 6 | 52 | 13 | 53 | 38 | 93 | NA | 119 | NA | 261 | NA | 298 | 638 | NA | 38 | 1609 |
| 2016 | 17 | 51 | 20 | 59 | 16 | 70 | NA | 71 | NA | 335 | NA | 327 | 755 | NA | NA | 1721 |
| 2017 | 20 | 92 | 33 | 89 | 33 | 117 | NA | 116 | NA | 316 | NA | 312 | 790 | NA | 28 | 1946 |
| 2018 | 29 | 78 | 5 | 74 | 49 | 78 | NA | 113 | NA | 251 | NA | 218 | 620 | NA | 25 | 1540 |
| 2019 | 26 | 55 | 7 | 63 | 35 | 42 | NA | 102 | NA | 248 | NA | 203 | 696 | NA | 94 | 1571 |
| 2020 | 5 | 18 | 7 | NA | 1 | 27 | NA | 78 | NA | 145 | NA | 229 | 261 | NA | 32 | 803 |
| 2021 | 2 | 83 | 10 | 138 | 17 | 52 | NA | 206 | NA | 304 | NA | 500 | 517 | NA | 21 | 1850 |
| 2022 | 26 | 100 | - | 148 | 58 | 75 | - | 143 | - | 318 | - | 332 | 754 | - | 29 | 1983 |
Ploteo los desembarques por region y por año
landing <- as.data.frame(lapply(landing, as.double))
str(landing)
'data.frame': 38 obs. of 17 variables:
$ ...1 : num 1985 1986 1987 1988 1989 ...
$ AyP : num NA NA NA NA NA NA NA NA NA NA ...
$ TPCA : num 8 842 182 131 217 335 280 30 37 24 ...
$ ANTOF: num 102 1531 335 174 175 ...
$ ATCMA: num 146 213 171 251 177 126 142 77 66 213 ...
$ COQ : num 162 329 51 42 109 100 223 53 81 68 ...
$ VALPO: num 1674 1242 671 670 756 ...
$ LGBO : num NA NA NA NA NA NA NA NA NA NA ...
$ MAULE: num 349 88 NA 46 114 5 NA 131 295 526 ...
$ ÑUBLE: num NA NA NA NA NA NA NA NA NA NA ...
$ BBIO : num 1527 1546 1264 1597 1859 ...
$ ARAUC: num NA NA NA NA 10 NA NA 1 NA NA ...
$ RIOS : num NA NA NA NA NA NA NA NA NA NA ...
$ LAGOS: num 63 311 689 877 1462 ...
$ AYSEN: num 28 6 21 8 8 36 NA 1 NA 41 ...
$ MAG : num NA NA NA NA NA NA NA NA 45 411 ...
$ ...17: num 4059 6108 3384 3796 4887 ...
summary(landing)
...1 AyP TPCA ANTOF
Min. :1985 Min. : 2.00 Min. : 8.00 Min. : 3.00
1st Qu.:1994 1st Qu.:11.25 1st Qu.: 44.25 1st Qu.: 12.75
Median :2004 Median :18.00 Median : 77.00 Median : 32.50
Mean :2004 Mean :16.44 Mean :128.26 Mean : 112.67
3rd Qu.:2013 3rd Qu.:25.25 3rd Qu.:148.25 3rd Qu.: 111.25
Max. :2022 Max. :29.00 Max. :842.00 Max. :1531.00
NA's :22 NA's :2
ATCMA COQ VALPO LGBO
Min. : 9.0 Min. : 1.00 Min. : 26.0 Min. : NA
1st Qu.: 58.0 1st Qu.: 23.50 1st Qu.: 65.5 1st Qu.: NA
Median : 82.0 Median : 49.50 Median : 136.0 Median : NA
Mean :106.7 Mean : 64.34 Mean : 325.1 Mean :NaN
3rd Qu.:148.0 3rd Qu.: 77.75 3rd Qu.: 468.8 3rd Qu.: NA
Max. :286.0 Max. :329.00 Max. :1676.0 Max. : NA
NA's :1 NA's :38
MAULE ÑUBLE BBIO ARAUC RIOS
Min. : 5.0 Min. : NA Min. : 109.0 Min. : 1.0 Min. :203.0
1st Qu.: 99.0 1st Qu.: NA 1st Qu.: 253.5 1st Qu.: 1.0 1st Qu.:270.8
Median :127.0 Median : NA Median : 603.5 Median : 1.5 Median :319.5
Mean :165.3 Mean :NaN Mean : 848.0 Mean : 3.5 Mean :355.5
3rd Qu.:194.0 3rd Qu.: NA 3rd Qu.:1363.5 3rd Qu.: 4.0 3rd Qu.:473.8
Max. :526.0 Max. : NA Max. :2620.0 Max. :10.0 Max. :613.0
NA's :2 NA's :38 NA's :34 NA's :22
LAGOS AYSEN MAG ...17
Min. : 63.0 Min. : 1.00 Min. : 10.00 Min. : 803
1st Qu.: 661.2 1st Qu.: 8.00 1st Qu.: 28.25 1st Qu.:1753
Median : 842.0 Median :22.00 Median : 51.00 Median :3402
Mean :1267.2 Mean :20.36 Mean :112.82 Mean :3228
3rd Qu.:1799.5 3rd Qu.:29.50 3rd Qu.:157.75 3rd Qu.:4472
Max. :3515.0 Max. :41.00 Max. :411.00 Max. :6108
NA's :27 NA's :16
landing2 <- landing %>%
pivot_longer(cols=c("AyP" , "TPCA" ,"ANTOF", "ATCMA", "COQ",
"VALPO" ,"LGBO" , "MAULE", "ÑUBLE", "BBIO" , "ARAUC",
"RIOS" , "LAGOS", "AYSEN", "MAG"),
names_to = "REGION",
values_to = "CAPTURA") %>%
rename(AÑO="...1") %>%
dplyr::select(-2)Genero un gráfico de barras
landing2$REGION <- factor(landing2$REGION ,
levels = c("AyP" , "TPCA" ,"ANTOF", "ATCMA", "COQ",
"VALPO" ,"LGBO" , "MAULE", "ÑUBLE", "BBIO" , "ARAUC",
"RIOS" , "LAGOS", "AYSEN", "MAG"))
desem <- ggplot(landing2 %>%
drop_na(REGION),aes(AÑO, CAPTURA, fill=REGION)) +
geom_bar(stat="identity")+
scale_fill_viridis_d(option="G")+
theme_minimal()+
scale_x_continuous(breaks = seq(from = 1985, to = 2022, by = 4))+
scale_y_continuous(breaks = seq(from = 0, to = 4000, by = 1000))+
theme(axis.text.x = element_text(angle = 90, hjust = 2),
panel.grid = element_blank(),
legend.position = "none")+
facet_wrap(~REGION, ncol=3)+
labs(y="Captura (t)",
x="")
desemLos principales desembarques estan asociados a las regiones de Antifagasta, Valparaiso y BioBIo pero solo durante los primeros años (1985- mediados del 2000). Luego de esto, todas las regiones vieron disminuidos los registros de extracción del recurso.
BITÁCORA
Esta base tiene como principal objetivo obtener un indicador de esfuerzo para calcular un indice de abundancia relativo como la CPUE.
Primero identifico la estructura de la base
glimpse(bitb)ahora las estadísticas descriptivas de las variables de intéres. En este caso dfp, PESO_corr, prof_med
Miramos los oultiers de los datos
# OUTLIERS
#Order data
bitb <- bitb %>%
mutate(order = seq(1:nrow(bitb)))
#Select continuous variables to plot
p1 <- multi_dotplot(bitb, order, dfp)
p2 <- multi_dotplot(bitb, order, PESO_corr)
p3 <- multi_dotplot(bitb, order, prof_med)
p4 <- multi_dotplot(bitb, order, N_TRIPULANTES)
p5 <- multi_dotplot(bitb, order, HORAS_REPOSO)
p6 <- multi_dotplot(bitb, order, NUMERO_DE_ANZUELOS)
#Plot as a grid
ggarrange(p1, p2, p3, p4,p5, p6, nrow = 3)Remuevo outliers
Los datos de profundidades andan bien, Filtro los datos de la variable dfp entre 0 y 30 días. y repito la inspección
bitb2 <- bitb %>%
filter(dfp>0,
dfp<60,
PESO_corr<30000,
N_TRIPULANTES<30,
NUMERO_DE_ANZUELOS<4000)Miro nuenvamente los datos filtrados
# OUTLIERS
#Order data
bitb2 <- bitb2 %>%
mutate(order = seq(1:nrow(bitb2)))
#Select continuous variables to plot
p1a <- multi_dotplot(bitb2, order, dfp)
p2a <- multi_dotplot(bitb2, order, PESO_corr)
p3a <- multi_dotplot(bitb2, order, prof_med)
p4a <- multi_dotplot(bitb2, order, N_TRIPULANTES)
p5a <- multi_dotplot(bitb2, order, HORAS_REPOSO)
p6a <- multi_dotplot(bitb2, order, NUMERO_DE_ANZUELOS)
#Plot as a grid
ggarrange(p1a, p2a, p3a, p4a, p5a, p6a, nrow = 3)Identifico las dimensionesd e la nueva base y la comparo con la anterior
dim(bitb2)
[1] 3921 78
dim(bitb)
[1] 11074 78
table(bitb2$año)
2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022
2 2 40 379 427 318 635 686 410 485 517 20Los registros se minimiza en ciertos años lo cual genera problemas en la fiabilidad de la estimación.
ahora calculamos el rendimiento nominal
CPUE Nominal
La medida de esfuerzo será dfp. Exploramos la variable.
# Frequency polygon plot for catch
his <- ggplot(bitb2, aes(dfp)) +
geom_freqpoly(bins = 5) +
labs(x = "dfp", y = "Frequency") +
theme_bw() +
theme(panel.border = element_rect(colour = "black",
fill=NA, size = 1))
# Patterns in the variance? (any lack of homogeneity)
point <- ggplot(bitb2 %>%
filter(PESO_corr>1000), aes(x = dfp, y = (PESO_corr))) +
geom_point(shape = 16, size = 5, alpha = 0.6) +
stat_smooth(method = "lm")+
theme(panel.background = element_blank()) +
theme(panel.border = element_rect(fill = NA, size = 1)) +
theme(strip.background = element_rect(fill = "white",
color = "white", size = 1)) +
theme(text = element_text(size=13)) +
xlab("dfp") + ylab("Peso Corregido")
#Plot as a grid
ggarrange(his, point, nrow = 1)Tendencia del esfuerzo dfp a través de los años y por región
effor <- ggplot(bitb2 %>%
group_by(año, REGION_PUERTO_RECALADA) %>%
summarise(DFPM=mean(dfp)),
aes(año, DFPM))+
geom_point(shape = 16, size = 3, alpha = 0.7)+
scale_x_continuous(breaks = seq(from = 1995, to = 2022, by = 1))+
geom_smooth(method = 'lm',
colour = 'blue',
size = 1.5)+
facet_wrap(~REGION_PUERTO_RECALADA, ncol=5)+
theme_bw()+
theme(axis.text.x = element_text(angle = 90, hjust = 2),
panel.grid = element_blank())+
labs(y="Effort (dfp)",
x="")
efforTendencia del esfuerzo NUMERO_DE_ANZUELOS a través de los años y por región
efforanz <- ggplot(bitb2 %>%
group_by(año, REGION_PUERTO_RECALADA) %>%
summarise(NANZ=mean(NUMERO_DE_ANZUELOS)),
aes(año, NANZ))+
geom_point(shape = 16, size = 3, alpha = 0.7)+
scale_x_continuous(breaks = seq(from = 1995, to = 2022, by = 1))+
geom_smooth(method = 'lm',
colour = 'green',
size = 1.5)+
facet_wrap(~REGION_PUERTO_RECALADA, ncol=5)+
theme_bw()+
theme(axis.text.x = element_text(angle = 90, hjust = 2),
panel.grid = element_blank())+
labs(y="Effort (dfp)",
x="")
efforanzCalculo los ceros
#CALCULATE NUMBER OF ZEROS
# What is the percentage of zeros i the response variable
round(sum(bitb2$dfp == 0) * 100 / nrow(bitb2),0)
[1] 0
#0Interacciones
# Interactions
# Year x season
ggplot(bitb2, aes(x = dfp, y = (PESO_corr))) +
geom_point(shape = 16, size = 3, alpha = 0.7) +
geom_smooth(method = 'lm', colour = 'red', se = FALSE) +
theme_bw() +
xlab("Points") + ylab("Catch") +
facet_grid(año~trim)# No# Year x habitat
ggplot(bitb2, aes(x = dfp, y = (PESO_corr))) +
geom_point(shape = 16, size = 3, alpha = 0.7) +
geom_smooth(method = 'lm', colour = 'red', se = FALSE) +
theme_bw() +
xlab("dfp") + ylab("Catch") +
facet_grid(año~N_TRIPULANTES)# Perhaps# Season x habitat
ggplot(bitb2, aes(x = dfp, y = (PESO_corr))) +
geom_point(shape = 16, size = 3, alpha = 0.7) +
geom_smooth(method = 'lm', colour = 'red', se = FALSE) +
theme_bw() +
xlab("dfp") + ylab("Catch") +
facet_grid(trim~N_TRIPULANTES)# CPUE slope varies between habitats - interaction# Categorizar la variable continua en 4 niveles
bitb2$prof_med_cat <- cut(bitb2$prof_med, breaks = 4, labels = c("Bajo", "Medio-Bajo", "Medio-Alto", "Alto"))
# Oxbow x habitat
ggplot(bitb2 %>%
drop_na(prof_med_cat),
aes(x = dfp, y = (PESO_corr))) +
geom_point(shape = 16, size = 3, alpha = 0.7) +
geom_smooth(method = 'lm',
colour = 'red',
se = FALSE) +
theme_bw() +
xlab("dfp") + ylab("Catch") +
facet_grid(prof_med_cat~año)Profundidad por region
profu <- ggplot(bitb2, aes(REGION_PUERTO_RECALADA, desc(prof_med),
group=REGION_PUERTO_RECALADA))+
geom_boxplot(fill=2, alpha=.5)+
geom_jitter(size=0.4, alpha=0.2,
width = .25)+
#facet_wrap(~año)+
theme_bw()+
scale_x_continuous(breaks = seq(from = 1, to = 15, by = 1))+
labs(x="Región",
y="Profundidad (mts)")
profuCorrelaciones
Análisis de utilidad para identificar a traves de un metodo de corrrelación de pearson, la correlación en tre las variables que serán utilizadas en la estandariacion de la CPUEPrimero identifico las variables a correlacionar
bitb3 <- bitb2 %>%
dplyr::select(8,23,24,26, 34, 39, 64, 67)
results <- correlation(bitb3)
glimpse(bitb3)
Rows: 3,921
Columns: 8
$ N_TRIPULANTES <dbl> 6, 7, 7, 7, 7, 8, 6, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, …
$ año <dbl> 2011, 2011, 2012, 2012, 2013, 2013, 2013, 2013, 201…
$ mes <dbl> 7, 8, 5, 10, 9, 10, 10, 11, 11, 11, 11, 11, 11, 11,…
$ dfp <dbl> 16.25000, 15.29167, 18.66667, 13.56250, 14.16667, 1…
$ zona <dbl> 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, …
$ PESO_corr <dbl> 1116.5200, 1256.3560, 2168.0000, 2493.2000, 2168.00…
$ prof_med <dbl> 1425, 1425, 2000, 2000, 1500, 1500, 600, 1152, 1125…
$ NUMERO_DE_ANZUELOS <dbl> 2400, 2400, 1800, 2000, 2400, 4, 3000, 500, 500, 50…
results %>%
summary(redundant=TRUE) %>%
plot(results, show_data = "points")+
theme_bw()ggplot(bitb2, aes(x = nombre_puerto_recalada , y = dfp, fill = nombre_puerto_recalada )) +
geom_violindot(fill_dots = "black") +
theme_modern() +
scale_fill_material_d()
ggplot(bitb2, aes(x = as.factor(REGION_PUERTO_RECALADA ),
y = bitb2$NUMERO_DE_ANZUELOS,
fill = as.factor(REGION_PUERTO_RECALADA))) +
geom_violin() +
theme_modern() +
scale_fill_material_d(palette="ice",
name="REGION")Ahora estimo la CPUE, la cual es el rendimoento entre el esfuerzo y la csaptura.
bitb2 <- bitb2 %>%
mutate(CPUE = PESO_corr/dfp)Interaccion de la variable
# Year x season
ggplot(bitb2, aes(x = PESO_corr, y = (CPUE))) +
geom_point(shape = 16, size = 3, alpha = 0.7) +
geom_smooth(method = 'lm', colour = 'red', se = FALSE, size = 1.5) +
theme_bw()+
xlab("Catch") + ylab("CPUE") +
facet_grid(año~N_TRIPULANTES)ploteo los datos de CPUE totales.
# para compara con la base original
#bitb3 <- bitb %>%
# mutate(CPUE = PESO_corr/dfp)
cpuen <- ggplot(bitb2 %>%
group_by(año, zona) %>%
summarise(CPUEM=mean(CPUE)),
aes(año, CPUEM))+
geom_point(shape = 16, size = 3, alpha = 0.7)+
scale_x_continuous(breaks = seq(from = 1995, to = 2022, by = 1))+
geom_smooth(method = 'loess',
colour = 'red',
size = 1.5)+
facet_wrap(~zona)+
theme_bw()+
theme(axis.text.x = element_text(angle = 90, hjust = 2),
panel.grid = element_blank())+
labs(y="CPUE (kg/dfp)",
x="")
cpuenCPUE Estandarizada
Identificar los proncipales factores para modelar la variable.
COMPOSICIONES DE TALLAS
La información contenida en las estructiras de tallas son consideradas una de las piezas mas importantes en la ciencia pesquera (Canales, Punt, & Mardones, 2021; Hordyk, Ono, Sainsbury, Loneragan, & Prince, 2014; Rudd & Thorson, 2018). Sin embargo, esta debe ser validada y confirmada para no violar supuestos referidos a la repreentatividad del dato y su relación con la dinámica poblacional.
Ahora nos disponemos a explorar esta fuente de información.
Primero identificamos la estructura de la base;
glimpse(long)
Rows: 15,831
Columns: 24
$ ID <chr> "COD_BARCO=730881 AND TO_CHAR(FECHA_HORA_RECALADA,…
$ COD_BARCO <dbl> 730881, 730881, 730881, 730881, 730881, 730881, 73…
$ FECHA_HORA_RECALADA <dttm> 2021-05-27 15:00:00, 2021-05-27 15:00:00, 2021-05…
$ FECHA_HORA_ZARPE <dttm> 2021-05-10 11:00:00, 2021-05-10 11:00:00, 2021-05…
$ COD_PESQUERIA <dbl> 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50…
$ PUERTO_RECALADA <dbl> 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 3,…
$ NRO_FORMULARIO <dbl> 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,…
$ REGION <dbl> 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1,…
$ FECHA_LANCE <dttm> 2021-05-27 15:00:00, 2021-05-27 15:00:00, 2021-05…
$ NUMERO_LANCE_EX <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,…
$ LATITUD <dbl> 243900, 243900, 243900, 243900, 243900, 243900, 24…
$ LONGITUD <dbl> 714400, 714400, 714400, 714400, 714400, 714400, 71…
$ NUMERO_EJEMPLARES <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ PESO_TOTAL_MUESTRA <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ NUMERO_CAJA <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,…
$ COD_ESPECIE <dbl> 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37…
$ ORIGEN_MUESTRA <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3,…
$ FECHA_MUESTREO <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ N_TOTAL_INDIV <dbl> 85, 85, 85, 85, 85, 85, 85, 84, 84, 84, 84, 84, 23…
$ LONGITUD_DESCARTE <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ LONGITUD_MUESTRA <dbl> 115, 125, 129, 130, 143, 152, 157, 100, 108, 110, …
$ SEXO <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
$ N_INDIVIDUOS <dbl> 2, 1, 2, 2, 1, 1, 1, 2, 1, 2, 1, 3, 1, 1, 2, 1, 1,…
$ año <dbl> 2021, 2021, 2021, 2021, 2021, 2021, 2021, 2021, 20…Primero selecciono las columnas de interes y luego genero la expansión de LONGITUD_MUESTRA a N_INDIVIDUOS. Expand frecuency data related length, in this case N_INDIVIDUOS column have frecuency that we need expand to whole data frame.
Selecciono variables de interes
long1 <- long %>%
dplyr::select(6,8,11,12,21,22,23,24)
dim(long1)
[1] 15831 8long2 <- long %>%
drop_na(N_INDIVIDUOS) %>%
type.convert(as.is = TRUE) %>%
uncount(N_INDIVIDUOS)
dim(long2)
[1] 34299 23legend.labels <- c('Indet.', 'Macho' , 'Hembra')
nbco <- ggplot(long2, aes(x=LONGITUD_MUESTRA, y = as.factor(año),
fill=as.factor(SEXO)))+
geom_density_ridges(stat = "density_ridges", bins = 20,
scale = 2, draw_baseline = FALSE,
alpha=0.5)+
facet_wrap(.~REGION, ncol=5) +
geom_vline(xintercept = 110, color = "red")+
scale_fill_viridis_d(option = "C",
name="SEXO",
labels=legend.labels)+
scale_y_discrete(breaks = seq(from = 2004, to = 2022, by = 2))+
theme(axis.text.x = element_text(angle = 90, hjust = 1))+
theme_minimal()+
xlab("Longitud (cm.)")+
ylab("")
#scale_x_discrete((limits = rev(levels(talla2021$ANO_ARR))))+
nbcoPrepara los vectores para sumar a los .dat del modelo si los necesito.
long2$LONG_CAT <- as.numeric(as.character(cut(x = long2$LONGITUD_MUESTRA,
breaks = seq(10,220,2),
labels = seq(10,218,2),
right = FALSE)))
LONGT <- table(long2$año, long2$LONG_CAT)
LONGT
10 12 38 40 42 44 48 50 52 54 56 58 60 62 64 66 68 70
2004 2 1 0 0 0 0 0 0 0 0 0 3 14 17 3 13 14 23
2005 0 0 0 0 0 0 0 0 0 0 1 0 1 2 5 10 11 17
2006 0 0 0 0 0 0 0 0 0 2 2 3 2 4 6 6 8 12
2007 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2008 0 0 0 0 0 0 0 0 1 0 0 0 2 3 2 3 10 3
2009 0 0 0 0 0 0 0 0 0 0 1 0 5 2 4 8 25 23
2010 0 0 0 0 0 0 0 0 0 1 1 2 1 5 7 11 11 16
2011 0 0 0 1 2 1 1 1 0 1 2 2 4 9 12 8 17 21
2012 0 0 0 0 0 0 0 0 0 0 0 0 1 5 2 20 20 44
2013 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 12 10
2014 0 0 1 0 0 0 1 0 0 0 1 2 27 21 41 85 112 120
2015 0 0 0 0 0 0 0 0 0 0 0 1 6 16 20 41 65 87
2016 0 0 0 0 0 0 0 0 0 0 1 4 10 17 47 56 90 140
2017 0 0 1 0 0 0 0 0 0 3 9 19 60 59 122 117 111 178
2018 0 0 0 0 0 0 0 0 0 6 8 25 27 35 46 61 47 68
2019 0 0 0 0 0 0 0 0 0 1 2 4 18 42 81 118 139 202
2020 0 0 0 0 0 0 0 0 0 0 0 0 4 5 11 17 11 20
2021 0 0 0 0 0 0 0 0 1 0 0 0 3 4 10 10 18 41
2022 0 0 0 0 0 0 0 0 2 1 5 13 24 32 48 83 88 139
72 74 76 78 80 82 84 86 88 90 92 94 96 98 100 102 104 106
2004 22 22 40 28 33 50 31 62 54 72 47 37 41 43 52 21 17 22
2005 19 19 26 21 21 31 31 22 31 25 22 18 15 22 10 17 9 8
2006 11 13 17 20 26 13 12 11 9 9 7 3 12 6 6 9 8 7
2007 0 1 0 0 1 1 1 2 0 2 0 0 2 0 0 0 0 0
2008 17 9 17 22 12 15 13 17 16 10 12 10 9 10 6 7 6 10
2009 39 52 83 82 84 113 105 94 97 82 98 71 54 50 38 28 43 15
2010 14 22 31 36 21 34 36 41 31 57 36 28 28 20 30 20 11 15
2011 11 20 25 21 11 18 13 12 18 9 12 10 13 13 8 9 5 8
2012 63 67 60 39 61 32 29 24 18 27 34 14 12 6 13 9 14 5
2013 29 29 37 61 99 82 95 112 62 115 55 70 68 41 44 42 34 43
2014 186 188 216 230 240 252 243 241 224 190 166 124 103 101 68 70 51 36
2015 116 165 186 186 235 248 253 268 195 240 237 193 179 142 139 86 81 47
2016 147 192 176 223 278 280 270 270 228 239 234 228 166 154 154 140 99 88
2017 159 171 146 152 158 160 196 178 147 190 162 184 180 160 217 131 139 94
2018 46 50 33 28 35 25 23 43 33 43 32 45 44 41 37 36 30 41
2019 217 190 165 124 102 80 54 31 28 39 24 33 26 8 43 23 26 27
2020 29 30 28 19 21 23 13 1 6 8 3 4 1 7 4 4 2 7
2021 54 77 104 115 179 143 159 128 107 114 75 61 48 30 36 25 19 14
2022 173 203 224 270 323 372 383 376 303 335 285 252 192 119 123 119 76 56
108 110 112 114 116 118 120 122 124 126 128 130 132 134 136 138 140 142
2004 15 16 11 9 14 11 21 7 6 2 4 8 9 5 4 2 6 3
2005 12 10 8 7 5 3 3 3 2 5 1 2 1 0 2 1 2 0
2006 6 2 5 5 2 2 4 4 3 2 1 0 1 3 1 0 0 2
2007 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0
2008 7 6 7 11 6 6 2 4 2 4 5 4 2 2 3 1 3 3
2009 23 25 18 19 15 12 13 9 12 8 9 10 4 8 11 10 15 11
2010 16 13 6 8 5 7 9 4 4 5 0 1 1 1 2 4 1 2
2011 7 15 15 4 1 7 2 4 9 4 4 2 1 1 2 3 2 1
2012 8 10 3 3 2 3 2 0 1 1 0 0 1 0 1 0 2 0
2013 31 35 21 21 15 12 21 8 7 7 6 9 5 4 3 4 5 0
2014 46 35 38 38 41 35 41 29 26 13 9 17 12 8 9 7 9 11
2015 52 52 39 34 44 41 33 19 27 29 16 18 18 8 15 12 15 5
2016 45 58 42 30 30 29 28 22 20 23 11 18 13 9 5 6 7 5
2017 77 139 60 78 45 37 55 19 24 20 11 26 18 22 17 5 12 10
2018 30 25 26 22 14 10 21 14 4 9 6 10 2 9 9 5 5 7
2019 24 26 20 22 7 17 22 15 14 11 7 5 1 7 8 1 6 3
2020 3 3 2 5 4 4 4 0 2 0 4 2 1 0 1 1 1 0
2021 13 26 34 20 29 21 32 21 27 27 20 17 21 12 20 15 17 13
2022 33 52 22 21 35 29 14 22 26 21 37 24 21 27 25 14 19 20
144 146 148 150 152 154 156 158 160 162 164 166 168 170 172 174 176 178
2004 0 3 2 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0
2005 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2006 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0
2007 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2008 1 3 5 1 3 1 3 3 0 3 0 0 0 0 0 0 0 0
2009 4 7 9 13 10 2 8 10 5 5 2 5 5 0 1 1 2 0
2010 5 0 2 3 0 2 1 2 4 0 0 0 1 1 1 0 0 0
2011 1 0 2 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0
2012 1 0 0 1 0 1 0 0 0 0 0 1 0 0 2 0 0 1
2013 5 4 2 0 0 2 1 0 0 0 2 1 0 0 0 1 0 0
2014 5 5 6 1 1 2 1 1 3 2 2 3 1 1 0 0 1 0
2015 10 6 10 9 5 5 3 4 2 2 0 3 3 3 2 1 1 0
2016 7 7 4 4 4 5 0 1 0 4 3 5 1 2 0 0 3 0
2017 8 9 7 9 8 4 0 5 6 6 4 5 0 3 2 1 2 0
2018 5 1 4 6 2 1 1 5 3 1 1 0 1 2 1 3 0 0
2019 3 4 2 4 1 1 3 0 2 0 2 0 0 0 0 0 0 0
2020 2 0 0 0 1 0 0 0 2 0 0 0 0 2 0 0 0 0
2021 11 7 5 13 7 2 5 5 8 6 2 2 4 5 0 0 0 1
2022 19 18 16 22 17 5 10 7 13 9 6 5 7 5 3 4 3 2
180 182 184 186 188 190 192 200 202
2004 1 0 0 0 0 0 0 0 0
2005 0 0 0 0 0 0 0 0 0
2006 0 0 0 0 0 0 0 0 0
2007 0 0 0 0 0 0 0 0 0
2008 0 0 0 0 0 0 0 0 0
2009 0 0 1 0 0 0 0 0 0
2010 0 1 0 0 0 0 0 0 0
2011 0 0 0 0 0 0 0 0 0
2012 0 0 0 0 0 0 0 0 0
2013 0 0 0 0 0 0 0 0 0
2014 0 0 0 0 0 0 1 0 0
2015 0 0 0 0 0 0 0 0 0
2016 0 0 1 0 1 0 0 0 0
2017 0 1 0 0 0 0 0 1 0
2018 0 0 0 0 0 0 0 0 1
2019 0 0 0 0 0 0 0 0 0
2020 0 0 0 0 0 0 0 0 0
2021 0 0 0 0 0 0 0 0 0
2022 0 0 3 1 0 1 0 0 0write.csv()MAPAS
Lo primero es transformar los datos de lon_ctgr y lat_ctgr a formarto geom. A su vez, saco las NA de las coord
transformar los datos en un sf object
codmap <- st_as_sf(bitb2 %>%
drop_na(lon_ctgr) %>%
drop_na(lat_ctgr),
coords = c("lon_ctgr", "lat_ctgr"), crs = 4326)Ahora genero los mapas de Chile con un raster.
chile <- raster::getData("GADM", country = "CHL", level = 1)
chile1<-fortify(chile)
# chilemap <- ggplot()+
# geom_polygon(data=chile, aes(x=long, y=lat, group=group),
# fill="lightblue",color="grey20", size=0.15)+
# coord_sf(crs = st_crs(4326),
# xlim = c(-80, -65),
# ylim = c(-58, -15)) +
# theme_bw()
# chilemap
# Aca veo los nombres
chile@data$NAME_1
[1] "Aisén del General Carlos Ibáñez del Campo"
[2] "Antofagasta"
[3] "Araucanía"
[4] "Arica y Parinacota"
[5] "Atacama"
[6] "Bío-Bío"
[7] "Coquimbo"
[8] "Libertador General Bernardo O'Higgins"
[9] "Los Lagos"
[10] "Los Ríos"
[11] "Magallanes y Antártica Chilena"
[12] "Maule"
[13] "Ñuble"
[14] "Región Metropolitana de Santiago"
[15] "Tarapacá"
[16] "Valparaíso"Luego genero los bordes sobre los cuales haré la grilla.
e <- extent(-80,-65,-58,-15)
rc <- crop(chile, e)
proj4string(rc) <- CRS("+init=epsg:4326")
# la proyección adecuada en lat long
chile2 <- st_as_sf(rc) # para dejarlo en formato geom_sfSe estructura la grilla en el objeto raster de chile1
grid <- chile2 %>%
st_make_grid(cellsize = c(1,1)) %>% # para que quede cuadrada
st_cast("MULTIPOLYGON") %>%
st_sf() %>% # objeto en spatial feature
mutate(cellid = row_number())Pongo los datos codmap en la grilla. Aca solo elegí dfpy CPUE pero se ùeden resumir otros
joindat <- grid %>%
st_join(codmap) %>%
group_by(cellid, año) %>%
summarise(CPUEM = mean(CPUE),
DFPM =mean(dfp)) # por ejemplo, plotear la captura "CAPTURA_1"Mapa Esfuerzo
here we can viz diferent variables
## Plot final
mas1 <- ggplot() +
geom_sf(data=joindat %>%
filter(!is.na(DFPM)), aes(fill = DFPM),
color=NA) +
scale_fill_viridis_c(option="E",
direction=-1, name="DFP")+
geom_sf(data = grid, fill=NA, color=NA) +
geom_sf(data = chile2, color="grey", fill="white") +
coord_sf() +
geom_hline(yintercept = -47, color = "red")+
scale_alpha(guide="none")+
facet_wrap(~año, ncol=6)+
scale_x_continuous(breaks = seq(from = -80, to = -60, by = 10))+
xlab(expression(paste(Longitude^o,~'O'))) +
ylab(expression(paste(Latitude^o,~'S')))+
guides(colour = guide_legend()) +
theme_bw()+
theme(panel.background = element_rect(fill = 'white'),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank())
mas1Mapa CPUE
## Plot final
mas2 <- ggplot() +
geom_sf(data=joindat %>%
filter(!is.na(CPUEM)), aes(fill = CPUEM),
color=NA) +
scale_fill_viridis_b(option="G",
direction=-1, name="CPUE (captura/dfp)")+
geom_sf(data = grid, fill=NA, color=NA) +
geom_sf(data = chile2, color="grey", fill="white") +
coord_sf() +
geom_hline(yintercept = -47, color = "red")+
scale_alpha(guide="none")+
#facet_wrap(~año, ncol=6)+
scale_x_continuous(breaks = seq(from = -80, to = -60, by = 10))+
xlab(expression(paste(Longitude^o,~'O'))) +
ylab(expression(paste(Latitude^o,~'S')))+
guides(colour = guide_legend()) +
theme_bw()+
theme(panel.background = element_rect(fill = 'white'),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank())
mas2Falta componer mapas de tallas medias y alguna otra variable de interés.
CONCLUSION
En función de los datos analizados, el modelo propuesto es un enfoque de producción global estao espacio descrito por Pedersen & Berg (2017) y Acom (2015).